﻿using eslib.tools.config;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace eslib.FileManageLib
{
    public class FilePoolCfg
    {
        public List<DirSetting> dirs { get; set; } = new();

        /// <summary>
        /// 默认加载FilePoolCfgFile指定的json配置文件
        /// MAUI可以由资源提供配置json（通过SetFilePoolCfg）
        /// </summary>
        public static FilePoolCfg Instance
        {
            get
            {
                if (ins == null)
                {
                    ins = GenericJsonConfig.Load<FilePoolCfg>(FilePoolCfgFile);
                }
                return ins;
            }
            set
            {
                ins = value;
            }
        }
        static FilePoolCfg ins = null;


        public static string FilePoolCfgFile { get; set; } = "filepoolcfg.json";


        /// <summary>
        /// 直接由json字符串设定配置（通常由MAUI使用）
        /// </summary>
        /// <param name="jsonString"></param>
        public static void SetFilePoolCfg(string jsonString)
        {
            ins = GenericJsonConfig.LoadFromString<FilePoolCfg>(jsonString);
        }


    }

    public enum DirType { longtime, temp }
}

